﻿// ***********************************************************************
// Project          : Micua
// Assembly         : Micua.Model
// Author           : Administrator
// Created          : 2013-12-29 3:52 PM
// 
// Last Modified By : Administrator
// Last Modified On : 2013-12-29 3:52 PM
// ***********************************************************************
// <copyright file="IEntity.cs" company="Wedn.Net">
//     Copyright (c) Wedn.Net. All rights reserved.
// </copyright>
// <summary></summary>
// ***********************************************************************

using System;

namespace Micua.Model
{
    /// <summary>
    /// 实体接口
    /// </summary>
    public interface IEntity<out TEntity> : ICloneable where TEntity : class
    {
        /// <summary>
        /// 主键
        /// </summary>
        int Id { get; set; }

        /// <summary>
        /// 深度拷贝
        /// </summary>
        /// <returns>深度拷贝副本</returns>
        TEntity DeepClone();

        /// <summary>
        /// 浅度拷贝
        /// </summary>
        /// <returns>浅度拷贝副本</returns>
        TEntity ShallowClone();
    }
}